package cn.itcast.web.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

//控制标签体重复执行
public class TagDemo3 extends TagSupport {

	int x = 5;
	@Override
	public int doStartTag() throws JspException {
		return Tag.EVAL_BODY_INCLUDE;   //控制标签体内容执行
	}
	
	
	/****
	 * 控制标签体内容的输出次数
	 *  SKIP_BODY	跳过主体
		EVAL_BODY_INCLUDE	计算标签主体内容并[输出]
		EVAL_BODY_BUFFERED	计算标签主体内容并[缓存]
		EVAL_PAGE	计算页面的后续部分
		SKIP_PAGE	跳过页面的后续部分
		EVAL_BODY_AGAIN	再次运行方法计算主体
	 */
	@Override
	public int doAfterBody() throws JspException {
		x--;
		if(x>0){
			return IterationTag.EVAL_BODY_AGAIN;//如果是大于0的值就继续循环 否则就跳过执行方法体
		}else{
			return IterationTag.SKIP_BODY;
		}
	}

	

	
	
	
	
}
